代理服務器接收針對其他服務器的請求,然后執行、轉發、重定向或拒絕請求。為特定請求執行哪種服務取決于許多因素,其中包括:代理服務器的功能、請求的內容、請求中包含的信息、請求來自何處、預期目的地,以及在某些情況下,誰發送了請求。
使用代理服務器的兩個最吸引人的原因是它能夠增強網絡安全性和減少網絡流量。代理服務器通過提供在隔離網絡之間接收和轉發(或拒絕)請求的控制來增強網絡安全,例如,跨防火墻轉發請求。代理服務器通過拒絕不需要的請求、轉發請求以平衡和優化服務器工作負載以及通過從緩存提供數據而不是不必要地聯系真正的目標服務器來滿足請求來減少網絡流量。
HTTP Server 具有內置的代理服務器功能。激活這些服務只是一個配置問題。
轉發代理
轉發代理是最常見的代理服務器形式,通常用于將請求從隔離的專用網絡通過防火墻傳遞到 Internet。使用轉發代理,來自隔離網絡或內聯網的請求可以被拒絕或允許通過防火墻。也可以通過從緩存中提供服務而不是通過 Internet 來滿足請求。這允許一定程度的網絡安全并減少網絡流量。轉發代理服務器將首先檢查以確保請求有效。如果請求無效或不允許(被代理阻止),它將拒絕請求,導致客戶端收到錯誤或重定向。如果請求有效,轉發代理可以檢查請求的信息是否被緩存。如果是,轉發代理服務緩存的信息。如果不是,請求將通過防火墻發送到實際的內容服務器,該服務器將信息提供給轉發代理。反過來,代理將此信息中繼到客戶端,并且還可以將其緩存,以備將來的請求。
反向代理
反向代理是代理服務器的另一種常見形式,通常用于將來自 Internet 的請求通過防火墻傳遞到隔離的專用網絡。它用于防止 Internet 客戶端直接、不受監控地訪問位于隔離網絡或 Intranet 上的內容服務器上的敏感數據。如果啟用緩存,反向代理還可以通過提供緩存信息而不是將所有請求傳遞到實際內容服務器來減少網絡流量。反向代理服務器還可以通過將請求分散到多個內容服務器來平衡工作負載。使用反向代理的優點之一是 Internet 客戶端不知道他們的請求正在發送到反向代理服務器并由其處理。反向代理服務器將首先檢查以確保請求有效。如果請求無效或不允許(被代理阻止),它將不會繼續處理請求,從而導致客戶端收到錯誤或重定向。如果請求有效,反向代理可以檢查請求的信息是否被緩存。如果是,反向代理將提供緩存的信息。如果不是,反向代理將從內容服務器請求信息并將其提供給請求客戶端。它還為將來的請求緩存信息。
代理鏈
代理鏈使用兩個或多個代理服務器來輔助服務器和協議性能以及網絡安全。代理鏈不是一種代理,而是跨多個網絡使用反向和正向代理服務器。除了安全性和性能方面的好處之外,代理鏈接還允許在沒有鏈接的情況下無法或不允許此類請求的情況下滿足來自不同協議的請求。例如,使用 HTTP 的請求被發送到只能處理 FTP 請求的服務器。為了處理請求,它必須通過一個可以處理這兩種協議的服務器。這可以通過使用代理鏈來實現,該代理鏈允許從無法滿足此類請求的服務器傳遞請求(可能是由于安全或網絡問題,鏈中的第一個代理服務器將檢查以確保請求有效。如果請求無效或不允許(被代理阻止),它將拒絕請求,導致客戶端收到錯誤或重定向。如果請求有效,代理可以檢查請求的信息是否被緩存并從那里簡單地提供它。如果請求的信息不在緩存中,代理會將請求傳遞給鏈中的下一個代理服務器。該服務器還具有完成、轉發、重定向或拒絕請求的能力。如果它轉發請求,那么它也會將請求傳遞給另一個代理服務器。重復此過程,直到請求到達鏈中的最后一個代理服務器。鏈中的最后一個服務器需要通過聯系內容服務器來處理請求,使用所需的任何協議來獲取信息。然后信息通過鏈轉發回,直到它到達發出請求的客戶端。
通過代理鏈傳遞請求的原因各不相同。例如,您可以使用代理鏈通過多個網絡傳遞信息,其中一個網絡上的客戶端無法直接與不同網絡上的代理服務器通信,它需要第二個代理來中繼其請求。您還可以使用它在多個位置緩存信息或允許在防火墻外使用某些不允許通過防火墻的協議。